home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Programmierung
/
Power-Programmierung (Tewi)(1994).iso
/
qtawk
/
table.exp
< prev
next >
Wrap
Text File
|
1990-02-10
|
809b
|
33 lines
# table - simple table formatter
# AWK Page 98
#
BEGIN {
FS = /\t/;
# blanks = copies(" ",100);
number = /{_i}/; # use pre-defined
}
{
row[NR] = $0;
for ( i = 1 ; i <= NF ; i++ ) {
if ( $i ~~ number ) nwid[i] = max(nwid[i],length($i));
wid[i] = max(wid[i],length($i));
}
}
END {
for ( r = 1 ; r <= NR ; r++ ) {
n = split(row[r],d);
for ( i = 1 ; i <= n ; i++ ) {
sep = ( i < n ) ? " " : "\n";
if ( d[i] ~~ number ) printf("%"wid[i]"s%s",numjust(i,d[i]),sep);
else printf("%-"wid[i]"s%s",d[i],sep);
}
}
}
function max(x,y) {
return ( x > y ) ? x : y;
}
function numjust(n,s) { # position s in field n
# return s substr(blanks,1,int((wid[n] - nwid[n])/2));
return s copies(" ",int((wid[n] - nwid[n])/2));
}